package com.jalarbee.stock.category.dao;

import java.util.Set;

import com.jalarbee.core.generic.dao.DataAcessException;
import com.jalarbee.core.generic.dao.GenericDao;
import com.jalarbee.stock.category.business.Category;
import com.jalarbee.stock.category.business.CategoryType;
import java.util.List;

public interface CategoryDao extends GenericDao<Category, Integer> {

    Set<Category> getRootCategories() throws DataAcessException;

    Set<Category> getLeafCategories() throws DataAcessException;

    Set<Category> getAllCategories() throws DataAcessException;
    
    List<Category> getCategoriesByType(CategoryType type) throws DataAcessException;

    Category getCategorByName(String string) throws DataAcessException;
    
}
